package pbf.util;

/**
 *
 * @author Ricardo
 */
public final class ValidaCpf
{
    public static boolean validaCpf(String cpfFormat)
    {
        int soma = 0;
        cpfFormat = cpfFormat.replace(".", "");
        cpfFormat = cpfFormat.replace("-", "");
        
        if(cpfFormat.equals("00000000000")||cpfFormat.equals("11111111111")||cpfFormat.equals("22222222222")||cpfFormat.equals("33333333333")||cpfFormat.equals("44444444444")||cpfFormat.equals("55555555555")||cpfFormat.equals("66666666666")||cpfFormat.equals("77777777777")||cpfFormat.equals("88888888888")||cpfFormat.equals("99999999999"))
        {
            return false;
        }
        
        if (cpfFormat.length() == 11)
        {
            for (int i = 0; i < 9; i++)
            {
                soma += (10 - i) * (cpfFormat.charAt(i) - '0');
            }

            soma = 11 - (soma % 11);

            if (soma > 9)
            {
                soma = 0;
            }
            
             if (soma == (cpfFormat.charAt(9) - '0')) 
             {
                 soma = 0;
                 
                 for (int i = 0; i < 10; i++) 
                 {
                     soma += (11 - i) * (cpfFormat.charAt(i) - '0');
                 }
                  
                 soma = 11 - (soma % 11);
                 if (soma > 9) 
                 {
                    soma = 0;
                 }
                 
                 if (soma == (cpfFormat.charAt(10) - '0')) 
                 {
                     return true;
                 }
             }
        }
        return false;
    }
}